package main

import (
	"log"
	"os"
	"path"
)

func main() {
	var err error
	var p string
	var all = false
	if len(os.Args) == 1 {
		p, err = os.Getwd()
		if err != nil {
			log.Fatalln(err)
		}
	} else if len(os.Args) == 2 {
		if os.Args[1][0] == '-' {
			if os.Args[1][1] == 'a' {
				all = true
				p, err = os.Getwd()
				if err != nil {
					log.Fatalln(err)
				}
			} else {
				ErrColor.Println("no such parameter")
				os.Exit(1)
			}
		} else {
			p = os.Args[1]
		}
	} else if len(os.Args) == 3 {
		if os.Args[1][0] == '-' {
			if os.Args[1][1] == 'a' {
				all = true
				p = os.Args[2]
			} else {
				ErrColor.Println("no such parameter")
				os.Exit(1)
			}
		} else if os.Args[2][0] == '-' {
			if os.Args[2][1] == 'a' {
				all = true
				p = os.Args[1]
			} else {
				ErrColor.Println("no such parameter")
				os.Exit(1)
			}
		}
	} else {
		log.Fatalln("invalid number of parameters")
	}
	i, err := os.Stat(p)
	if err != nil {
		log.Fatalln("no such file or directory")
	}
	if !i.IsDir() {
		log.Fatalln("is NOT a dir")
	}
	n := Node{}
	n.Path = p
	n.Name = path.Base(p)
	n.Type = Dir
	n.Build(all)
	n.Print("├", "", "", " ")
	PrintStatistics()
}
